﻿namespace MicroCloud.Identity.Entities
{
    /// <summary>
    /// 实体类：组织机构详细信息
    /// </summary>
    [Table(nameof(OrganizationDetail), Schema = TableSchemaConstants.Identity)]
    [Description("组织机构详细信息")]
    [ValueGenerate(ValueGenerateRule.Never, ValueGenerateMode.Snowflake)]
    public class OrganizationDetail : EntityBase<long>
    {
        #region "属性"
        #region "获取或设置 组织机构编号"
        /// <summary>
        /// 获取或设置 组织机构编号
        /// </summary>
        [Column("OrganizationId")]
        [DisplayName("组织机构编号")]
        public long OrganizationId { get; set; }
        #endregion

        #region "获取或设置 组织机构名称(外文)"
        private string _NameFrgn = "";
        /// <summary>
        /// 获取或设置 组织机构名称(外文)
        /// </summary>
        [Column("NameFrgn")]
        [StringSize(StringSizeType.Name)]
        [DisplayName("组织机构名称(外文)")]
        public string NameFrgn { get { return _NameFrgn; } set { _NameFrgn = value.ReplaceNull(); } }
        #endregion
        #region "获取或设置 地址"
        private string _Address = "";
        /// <summary>
        /// 获取或设置 地址
        /// </summary>
        [Column("Address")]
        [StringSize(StringSizeType.General)]
        [DisplayName("地址")]
        public string Address { get { return _Address; } set { _Address = value.ReplaceNull(); } }
        #endregion
        #region "获取或设置 地址(外文)"
        private string _AddressFrgn = "";
        /// <summary>
        /// 获取或设置 地址(外文)
        /// </summary>
        [Column("AddressFrgn")]
        [StringSize(StringSizeType.General)]
        [DisplayName("地址(外文)")]
        public string AddressFrgn { get { return _AddressFrgn; } set { _AddressFrgn = value.ReplaceNull(); } }
        #endregion
        #region "获取或设置 打印抬头"
        private string _PrintHeader = "";
        /// <summary>
        /// 获取或设置 打印抬头
        /// </summary>
        [Column("PrintHeader")]
        [StringSize(StringSizeType.Name)]
        [DisplayName("打印抬头")]
        public string PrintHeader { get { return _PrintHeader; } set { _PrintHeader = value.ReplaceNull(); } }
        #endregion
        #region "获取或设置 打印抬头(外文)"
        private string _PrintHeaderFrgn = "";
        /// <summary>
        /// 获取或设置 打印抬头(外文)
        /// </summary>
        [Column("PrintHeaderFrgn")]
        [StringSize(StringSizeType.Name)]
        [DisplayName("打印抬头(外文)")]
        public string PrintHeaderFrgn { get { return _PrintHeaderFrgn; } set { _PrintHeaderFrgn = value.ReplaceNull(); } }
        #endregion
        #region "获取或设置 报表名称"
        private string _ReptName = "";
        /// <summary>
        /// 获取或设置 报表名称
        /// </summary>
        [Column("ReptName")]
        [StringSize(StringSizeType.Name)]
        [DisplayName("报表名称")]
        public string ReptName { get { return _ReptName; } set { _ReptName = value.ReplaceNull(); } }
        #endregion
        #region "获取或设置 报表名称(外文)"
        private string _ReptNameFrgn = "";
        /// <summary>
        /// 获取或设置 报表名称(外文)
        /// </summary>
        [Column("ReptNameFrgn")]
        [StringSize(StringSizeType.Name)]
        [DisplayName("报表名称(外文)")]
        public string ReptNameFrgn { get { return _ReptNameFrgn; } set { _ReptNameFrgn = value.ReplaceNull(); } }
        #endregion
        #region "获取或设置 备注"
        private string _Remark = "";
        /// <summary>
        /// 获取或设置 备注
        /// </summary>
        [Column("Remark")]
        [StringSize(StringSizeType.Remark)]
        [DisplayName("备注")]
        public string Remark { get { return _Remark; } set { _Remark = value.ReplaceNull(); } }
        #endregion

        //导航属性
        #region "获取或设置 所属组织机构信息"
        /// <summary>
        /// 获取或设置 所属组织机构信息
        /// </summary>
        [JsonIgnore]
        public virtual Organization Organization { get; set; }
        #endregion

        #endregion

    }

}
